package com.baoyouqun.service.impl;

import cn.dev33.satoken.stp.StpInterface;
import com.baoyouqun.service.UserRoleService;
import jakarta.annotation.Resource;
import org.springframework.stereotype.Component;

import java.util.ArrayList;
import java.util.List;

@Component
public class StpInterfaceImpl implements StpInterface {

    @Resource
    private UserRoleService userRoleService; // 用户-角色关联表

    /**
     * 返回指定用户的角色列表
     *
     * @param loginId   用户ID（即登录时传入的 user.getId()）
     * @param loginType 登录类型（多账号体系时使用，默认""）
     */
    @Override
    public List<String> getRoleList(Object loginId, String loginType) {
        String userId = loginId.toString();

        // 2. 从数据库查询该用户的角色编码列表
        return userRoleService.selectByUserId(userId);
    }

    /**
     * 返回指定用户的权限列表（如果不需要权限控制，可返回空列表）
     */
    @Override
    public List<String> getPermissionList(Object loginId, String loginType) {
        return new ArrayList<>(); // 权限控制可留空或类似角色逻辑实现
    }
}